Systems and methods for routing callers to an agent in a contact center

ABSTRACT

Techniques for handling contacts and agents in a contact center system are disclosed. In one particular embodiment, the techniques may be realized as a method for handling contacts and agents in a contact center system including identifying a plurality of contacts ordered for assignment to a plurality of agents, and assigning a first out-of-order contact from the plurality of contacts to a first agent of the plurality of agents who becomes available for assignment to any contact of the plurality of contacts based on information about the first agent.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/021,251, filed Jan. 28, 2008, which is incorporated herein byreference in its entirety as if fully set forth herein.

BACKGROUND OF THE INVENTION

The present invention relates to the field of routing phone calls andother telecommunications in a contact center system.

The typical contact center consists of a number of human agents, witheach assigned to a telecommunication device, such as a phone or acomputer for conducting email or Internet chat sessions, that isconnected to a central switch. Using these devices, the agents aregenerally used to provide sales, customer service, or technical supportto the customers or prospective customers of a contact center or acontact center's clients.

Typically, a contact center or client will advertise to its customers,prospective customers, or other third parties a number of differentcontact numbers or addresses for a particular service, such as forbilling questions or for technical support. The customers, prospectivecustomers, or third parties seeking a particular service will then usethis contact information, and the incoming caller will be routed at oneor more routing points to a human agent at a contact center who canprovide the appropriate service. Contact centers that respond to suchincoming contacts are referred to as “inbound contact centers.”

Similarly, a contact center can make outgoing contacts to current orprospective customers or third parties. Such contacts may be made toencourage sales of a product, provide technical support or billinginformation, survey consumer preferences, or to assist in collectingdebts. Contact centers that make such outgoing contacts are referred toas “outbound contact centers.”

In both inbound contact centers and outbound contact centers, theindividuals (such as customers, prospective customers, surveyparticipants, or other third parties) that interact with contact centeragents over the telephone are referred to in this application as a“caller.” The individuals acquired by the contact center to interactwith callers are referred to in this application as an “agent.”

An essential piece of hardware for any contact center operation is theswitch system that connects callers to agents. In an inbound contactcenter, these switches route incoming callers to a particular agent in acontact center, or, if multiple contact centers are deployed, to aparticular contact center for further routing. In an outbound contactcenter employing telephone devices, dialers are typically employed inaddition to a switch system. The dialer is used to automatically dial aphone number from a list of phone numbers, and to determine whether alive caller has been reached from the phone number called (as opposed toobtaining no answer, a busy signal, an error message, or an answeringmachine). When the dialer obtains a live caller, the switch systemroutes the caller to a particular agent in the contact center.

Routing technologies have accordingly been developed to optimize thecaller experience. For example, U.S. Pat. No. 7,236,584 describes atelephone system for equalizing caller waiting times across multipletelephone switches, regardless of the general variations in performancethat may exist among those switches. Contact routing in an inboundcontact center, however, is a process that is generally structured toconnect callers to agents that have been idle for the longest period oftime. In the case of an inbound caller where only one agent may beavailable, that agent is generally selected for the caller withoutfurther analysis. In another example, if there are eight agents at acontact center, and seven are occupied with contacts, the switch willgenerally route the inbound caller to the one agent that is available.If all eight agents are occupied with contacts, the switch willtypically put the contact on hold and then route it to the next agentthat becomes available. More generally, the contact center will set up aqueue of incoming callers and preferentially route the longest-waitingcallers to the agents that become available over time. Such a pattern ofrouting contacts to either the first available agent or thelongest-waiting agent is referred to as “round-robin” contact routing.In round robin contact routing, eventual matches and connections betweena caller and an agent are essentially random.

In an outbound contact center environment using telephone devices, thecontact center or its agents are typically provided a “lead list”comprising a list of telephone numbers to be contacted to attempt somesolicitation effort, such as attempting to sell a product or conduct asurvey. The lead list can be a comprehensive list for all contactcenters, one contact center, all agents, or a sub-list for a particularagent or group of agents (in any such case, the list is generallyreferred to in this application as a “lead list”). After receiving alead list, a dialer or the agents themselves will typically call throughthe lead list in numerical order, obtain a live caller, and conduct thesolicitation effort. In using this standard process, the eventualmatches and connections between a caller and an agent are essentiallyrandom.

Some attempts have been made to improve upon these standard yetessentially random processes for connecting a caller to an agent. Forexample, U.S. Pat. No. 7,209,549 describes a telephone routing systemwherein an incoming caller's language preference is collected and usedto route their telephone call to a particular contact center or agentthat can provide service in that language. In this manner, languagepreference is the primary driver of matching and connecting a caller toan agent, although once such a preference has been made, callers arealmost always routed in “round-robin” fashion.

Other attempts have been made to alter the general round-robin system.For example, U.S. Pat. No. 7,231,032 describes a telephone systemwherein the agents themselves each create personal routing rules forincoming callers, allowing each agent to customize the types of callersthat are routed to them. These rules can include a list of particularcallers the agent wants routed to them, such as callers that the agenthas interacted with before. This system, however, is skewed towards theagent's preference and does not take into account the relativecapabilities of the agents nor the individual characteristics of thecallers and the agents themselves.

There is thus a need for improving on the available mechanisms formatching and connecting a caller to an agent. The present inventionaccomplishes this.

SUMMARY

Systems and methods of the present invention can be used to optimize therouting of callers to agents in a contact center. In general, contactroutings are optimized by routing contacts such that callers are matchedwith and connected to particular agents in a manner that increases thechances of an interaction that is deemed beneficial to a contact center(referred to in this application as an “optimal interaction”). Examplesof typical optimal interactions include increasing sales, decreasing theduration of the contact (and hence the cost to the contact center),providing for an acceptable level of customer satisfaction, or any otherinteraction that a contact center may seek to control or optimize. Thesystems and methods of the present invention can improve the chance ofan optimal interaction by, in general, grading agents on an optimalinteraction, and matching a graded agent with a caller to increase thechance of the optimal interaction. Once matched, the caller can beconnected to the graded agent. In a more advanced embodiment, thesystems and methods of the present invention can also be used toincrease the chance of an optimal interaction by matching a caller to anagent using a computer model derived from data describing demographic,psychographic, past purchase behavior, or other business-relevantinformation about a caller, together with data describing demographic,psychographic, or historical performance about an agent.

In a relatively basic embodiment of the present invention, theperformance of a contact center's agents is collated over a period timeto grade each agent on their ability to achieve an optimal interaction.The period of time can be as short as the immediately prior contact to aperiod extending as long as the agent's first interaction with a caller.The grade determined for the each agent is then used as a factor inmatching and connecting a caller to a particular agent. For example,certain agents may be shown to have a greater ability to generate salesthan that of other agents engaged in the same contact center. Thepresent invention, by preferentially routing callers to those agentsshown to have greater ability to generate sales, can increase thechances of achieving greater sales during the contacts. Similarly, otheragents may be shown to generate shorter interactions with callers thanthat of other agents at the same contact center. By preferentiallyrouting contacts to the agents shown to generate shorter interactionswith callers, a contact center or contact center client can decrease itsoverall need for agents and communication bandwidth, and therefore,reduce its costs.

In general, by grading the agents at a contact center on their abilityto achieve an optimal interaction, the contact center can match andconnect callers to agents to increase the chance of achieving anyoptimal interaction that may be chosen. The method of grading agent canbe as simple as ranking each agent on a scale of 1 to N for a particularoptimal interaction, with N being the total number of agents. The methodof grading can also comprise determining the average contact handle timeof each agent to grade the agents on cost, determining the total salesrevenue or number of sales generated by each agent to grade the agentson sales, or conducting customer surveys at the end of contacts withcallers to grade the agents on customer satisfaction. The foregoing,however, are only examples of how agents may be graded; many othermethods exist.

If agents are graded on more than one optimal interaction, the presentinvention can be configured to weight optimal interactions to ascertainwhich callers should be routed to which agent. For example, if therewere two currently available agents for an individual caller, and thepresent invention estimated that routing the caller to one agent wouldresult in a higher likelihood of a sale occurring, while routing thecaller to the other agent would result in a shorter duration contact,depending on which optimal interaction the present invention wasweighting more heavily, the caller may be routed to either the first orthe second agent. In another example, if the present invention estimatedthat routing the caller to one agent would result in a high likelihoodof a sale, a short contact duration, but a low level of customersatisfaction, while routing the caller to another agent would result ina high likelihood of a sale, a longer contact duration, but a higherlevel of customer satisfaction, depending on which mix of optimalinteractions the present invention was weighting more heavily, thecaller may be routed to the first or second agent.

The weightings placed on the various optimal interactions can take placein realtime in a manner controlled by the contact center, its clients,or in line with predetermined rules. Optionally, the contact center orits clients may control the weighting over the internet or some anotherdata transfer system. As an example, a client of the contact centercould access the weightings currently in use over an internet browserand modify these remotely. Such a modification may be set to takeimmediate effect and, immediately after such a modification, subsequentcaller routings occur in line with the newly establishing weightings. Aninstance of such an example may arise in a case where a contact centerclient decides that the most important strategic priority in theirbusiness at present is the maximization of revenues. In such a case, theclient would remotely set the weightings to favor the selection ofagents that would generate the greatest probability of a sale in a givencontact. Subsequently the client may take the view that maximization ofcustomer satisfaction is more important for their business. In thisevent, they can remotely set the weightings of the present inventionsuch that callers are routed to agents most likely to maximize theirlevel of satisfaction. Alternatively the change in weighting may be setto take effect at a subsequent time, for instance, commencing thefollowing morning.

With graded agent data and a chosen optimal interaction, the presentinvention can be used to match a graded agent with a caller to increasethe chance of an optimal interaction or a weighted mix of optimalinteractions. The matching can occur between a caller and all agentslogged in at the contact center, all agents currently available for acontact at the contact center, or any mix or subgroup thereof. Thematching rules can be set such that agents with a minimum grade are theonly ones suitable for matching with a caller. The matching rules canalso be set such that an available agent with the highest grade for anoptimal interaction or mix thereof is matched with the caller. Toprovide for the case in which an agent may have become unavailable inthe time elapsed from the time a contact was initiated to the time theswitch was directed to connect the caller to a specific agent, insteadof directing the switch to connect the caller to a single agent, thematching rules can define an ordering of agent suitability for aparticular caller and match the caller to the highest-graded agent inthat ordering.

In an outbound contact center environment employing telephone devices,the matching that takes place can be reflected in the form of a leadlist. The lead list can be for one particular agent or a group ofagents, who can then call through the lead list to conduct theirsolicitation efforts. Where a dialer is used to call through a leadlist, upon obtaining a live caller, the present invention can determinethe available agents, match the live caller with one or more of theavailable agents, and connect the caller with one of those agents.Preferably, the present invention will match the live caller with agroup of agents, define an ordering of agent suitability for the caller,match the live caller to the highest-graded agent currently available inthat ordering, and connect the caller to the highest-graded agent. Inthis manner, use of a dialer becomes more efficient in the presentinvention, as the dialer should be able to continuously call through alead list and obtain live callers as quickly as possible, which thepresent invention can then match and connect to the highest graded agentcurrently available.

In a more advanced embodiment, the system and methods of the presentinvention can be used to increase the chances of an optimal interactionby combining agent grades, agent demographic data, agent psychographicdata, and other business-relevant data about the agent (individually orcollectively referred to in this application as “agent data”), alongwith demographic, psychographic, and other business-relevant data aboutcallers (individually or collectively referred to in this application as“caller data”). Agent and caller demographic data can comprise any of:gender, race, age, education, accent, income, nationality, ethnicity,area code, zip code, marital status, job status, and credit score. Agentand caller psychographic data can comprise any of introversion,sociability, desire for financial success, and film and televisionpreferences.

Caller demographic and psychographic data can be retrieved fromavailable databases by using the caller's contact information as anindex. Available databases include, but are not limited to, those thatare publicly available, those that are commercially available, or thosecreated by a contact center or a contact center client. In an outboundcontact center environment, the caller's contact information is knownbeforehand. In an inbound contact center environment, the caller'scontact information can be retrieved by examining the caller's CallerIDinformation or by requesting this information of the caller at theoutset of the contact, such as through entry of a caller account numberor other caller-identifying information. Other business-relevant datasuch as historic purchase behavior, current level of satisfaction as acustomer, or volunteered level of interest in a product may also beretrieved from available databases.

Agent demographic and psychographic data can be established by surveyingagents at the time of their employment or periodically throughout theiremployment. Such a survey process can be manual, such as through a paperor oral survey, or automated with the survey being conducted over acomputer system, such as by deployment over a web-browser.

Once agent data and caller data have been collected, this data is passedto a computational system. The computational system then, in turn, usesthis data in a pattern matching algorithm to create a computer modelthat matches each agent with each caller and estimates the probableoutcome of each matching along a number of optimal interactions, such asthe generation of a sale, the duration of contact, or the likelihood ofgenerating an interaction that a customer finds satisfying. As anexample, the present invention may indicate that, by matching a callerto a female agent, the matching will increase the probability of a saleby 4 percent, reduce the duration of a contact by 6 percent, andincrease the satisfaction of the caller with the interaction by 12percent. Generally, the present invention will generate more complexpredictions spanning multiple demographic and psychographic aspects ofagents and callers. The present invention might conclude, for instance,that a caller if connected to a single, white, male, 25 year old, agentthat has high speed internet in his home and enjoys comedic films willresult in a 12 percent increase in the probability of a sale, a 7percent increase in the duration of the contact, and a 2 percentdecrease in the caller's satisfaction with the contact. In parallel, thepresent invention may also determine that the caller if connected to amarried, black, female, 55 year old agent will result in a 4 percentincrease in the probability of a sale, a 6 percent decrease in theduration of a contact, and a 9 percent increase in the caller'ssatisfaction with the contact.

Though this advanced embodiment preferably uses agent grades,demographic, psychographic, and other business-relevant data, along withcaller demographic, psychographic, and other business-relevant data,other embodiments of the present invention can eliminate one or moretypes or categories of caller or agent data to minimize the computingpower or storage necessary to employ the present invention.

The pattern matching algorithm to be used in the present invention cancomprise any correlation algorithm, such as a neural network algorithmor a genetic algorithm. To generally train or otherwise refine thealgorithm, actual contact results (as measured for an optimalinteraction) are compared against the actual agent and caller data foreach contact that occurred. The pattern matching algorithm can thenlearn, or improve its learning of, how matching certain callers withcertain agents will change the chance of an optimal interaction. In thismanner, the pattern matching algorithm can then be used to predict thechance of an optimal interaction in the context of matching a callerwith a particular set of caller data, with an agent of a particular setof agent data. Preferably, the pattern matching algorithm isperiodically refined as more actual data on caller interactions becomesavailable to it, such as periodically training the algorithm every nightafter a contact center has finished operating for the day.

The pattern matching algorithm can be used to create a computer modelreflecting the predicted chances of an optimal interaction for eachagent and caller matching. Preferably, the computer model will comprisethe predicted chances for a set of optimal interactions for every agentthat is logged in to the contact center as matched against everyavailable caller. Alternatively, the computer model can comprise subsetsof these, or sets containing the aforementioned sets. For example,instead of matching every agent logged into the contact center withevery available caller, the present invention can match every availableagent with every available caller, or even a narrower subset of agentsor callers. Likewise, the present invention can match every agent thatever worked on a particular campaign—whether available or logged in ornot—with every available caller. Similarly, the computer model cancomprise predicted chances for one optimal interaction or a number ofoptimal interactions.

The computer model can also be further refined to comprise a suitabilityscore for each matching of an agent and a caller. The suitability scorecan be determined by taking the chances of a set of optimal interactionsas predicted by the pattern matching algorithm, and weighting thosechances to place more or less emphasis on a particular optimalinteraction as related to another optimal interaction. The suitabilityscore can then be used in the present invention to determine whichagents should be connected to which callers.

For example, it may be that the computer model indicates that a callermatch with agent one will result in a high chance of a sale with but ahigh chance of a long contact, while a caller match with agent two willresult in a low chance of a sale but a high chance of a short contact.If an optimal interaction for a sale is more heavily weighted than anoptimal interaction of low cost, then the suitability scores for agentone as compared to agent two will indicate that the caller should beconnected to agent one. If, on the other hand, an optimal interactionfor a sale is less weighted than an optimal interaction for a low costcontact, the suitability score for agent two as compared to agent onewill indicate that the caller should be connected to agent two.

In an outbound contact center environment employing telephone devices,the matching that takes place by using agent and caller data in apattern matching algorithm can be reflected in the form of a lead list.The lead list can be for one particular agent or a group of agents, whocan then call through the lead list to conduct their solicitationefforts. Where a dialer is used to call through a lead list, uponobtaining a live caller, the system can determine the available agents,use caller and agent data with a pattern matching algorithm to match thelive caller with one or more of the available agents, and connect thecaller with one of those agents. Preferably, the system will match thelive caller with a group of agents, define an ordering of agentsuitability for the caller within that group, match the live caller tothe highest-graded agent that is available in that ordering, and connectthe caller to that highest-graded agent. In matching the live callerwith a group of agents, the present invention can be used to determine acluster of agents with similar agent data, such as similar demographicdata or psychographic data, and further determine within that cluster anordering of agent suitability. In this manner, the present invention canincrease the efficiency of the dialer and avoid having to stop thedialer until an agent with specific agent data becomes available.

One aspect of the present invention is that it may develop affinitydatabases by storing data, the databases comprising data on anindividual caller's contact outcomes (referred to in this application as“caller affinity data”), independent of their demographic,psychographic, or other business-relevant information. Such calleraffinity data can include the caller's purchase history, contact timehistory, or customer satisfaction history. These histories can begeneral, such as the caller's general history for purchasing products,average contact time with an agent, or average customer satisfactionratings. These histories can also be agent specific, such as thecaller's purchase, contact time, or customer satisfaction history whenconnected to a particular agent.

The caller affinity data can then be used to refine the matches that canbe made using the present invention. As an example, a certain caller maybe identified by their caller affinity data as one highly likely to makea purchase, because in the last several instances in which the callerwas contacted, the caller elected to purchase a product or service. Thispurchase history can then be used to appropriately refine matches suchthat the caller is preferentially matched with an agent deemed suitablefor the caller to increase the chances of an optimal interaction. Usingthis embodiment, a contact center could preferentially match the callerwith an agent who does not have a high grade for generating revenue orwho would not otherwise be an acceptable match, because the chance of asale is still likely given the caller's past purchase behavior. Thisstrategy for matching would leave available other agents who could haveotherwise been occupied with a contact interaction with the caller.Alternatively, the contact center may instead seek to guarantee that thecaller is matched with an agent with a high grade for generatingrevenue, irrespective of what the matches generated using caller dataand agent demographic or psychographic data may indicate.

A more advanced affinity database developed by the present invention isone in which a caller's contact outcomes are tracked across the variousagent data. Such an analysis might indicate, for example, that thecaller is most likely to be satisfied with a contact if they are matchedto an agent of similar gender, race, age, or even with a specific agent.Using this embodiment, the present invention could preferentially matcha caller with a specific agent or type of agent that is known from thecaller affinity data to have generated an acceptable optimalinteraction.

Affinity databases can provide particularly actionable information abouta caller when commercial, client, or publicly-available database sourcesmay lack information about the caller. This database development canalso be used to further enhance contact routing and agent-to-callermatching even in the event that there is available data on the caller,as it may drive the conclusion that the individual caller's contactoutcomes may vary from what the commercial databases might imply. As anexample, if the present invention was to rely solely on commercialdatabases in order to match a caller and agent, it may predict that thecaller would be best matched to an agent of the same gender to achieveoptimal customer satisfaction. However, by including affinity databaseinformation developed from prior interactions with the caller, thepresent invention might more accurately predict that the caller would bebest matched to an agent of the opposite gender to achieve optimalcustomer satisfaction.

Another aspect of the present invention is that it may develop affinitydatabases that comprise revenue generation, cost, and customersatisfaction performance data of individual agents as matched withspecific caller demographic, psychographic, or other business-relevantcharacteristics (referred to in this application as “agent affinitydata”). An affinity database such as this may, for example, result inthe present invention predicting that a specific agent performs best ininteractions with callers of a similar age, and less well ininteractions with a caller of a significantly older or younger age.Similarly this type of affinity database may result in the presentinvention predicting that an agent with certain agent affinity datahandles callers originating from a particular geography much better thanthe agent handles callers from other geographies. As another example,the present invention may predict that a particular agent performs wellin circumstances in which that agent is connected to an irate caller.

Though affinity databases are preferably used in combination with agentdata and caller data that pass through a pattern matching algorithm togenerate matches, information stored in affinity databases can also beused independently of agent data and caller data such that the affinityinformation is the only information used to generate matches.

The present invention can also comprise connection rules to define whenor how to connect agents that are matched to a caller. The connectionrules can be as simple as instructing the present invention to connect acaller according to the best match among all available agents with thatparticular caller. In this manner, caller hold time can be minimized.The connection rules can also be more involved, such as instructing thepresent invention to connect a caller only when a minimum thresholdmatch exists between an available agent and a caller, or to allow adefined period of time to search for a minimum matching or the bestavailable matching at that time. The connection rules can alsopurposefully keep certain agents available while a search takes placefor a potentially better match.

It is typical for a queue of callers on hold to form at a contactcenter. When a queue has formed it is desirable to minimize the holdtime of each caller in order to increase the chances of obtainingcustomer satisfaction and decreasing the cost of the contact, which costcan be, not only a function of the contact duration, but also a functionof the chance that a caller will drop the contact if the wait is toolong. After matching the caller with agents, the connection rules canthus be configured to comprise an algorithm for queue jumping, whereby afavorable match of a caller on hold and an available agent will resultin that caller “jumping” the queue by increasing the caller's connectionpriority so that the caller is passed to that agent first ahead ofothers in the chronologically listed queue. The queue jumping algorithmcan be further configured to automatically implement a trade-off betweenthe cost associated with keeping callers on hold against the benefit interms of the chance of an optimal interaction taking place if the calleris jumped up the queue, and jumping callers up the queue to increase theoverall chance of an optimal interaction taking place over time at anacceptable or minimum level of cost or chance of customer satisfaction.Callers can also be jumped up a queue if an affinity database indicatesthat an optimal interaction is particularly likely if the caller ismatched with a specific agent that is already available.

Ideally, the connection rules should be configured to avoid situationswhere matches between a caller in a queue and all logged-in agents arelikely to result in a small chance of a sale, but the cost of thecontact is long and the chances of customer satisfaction slim becausethe caller is kept on hold for a long time while the present inventionwaits for the most optimal agent to become available. By identifyingsuch a caller and jumping the caller up the queue, the contact centercan avoid the situation where the overall chances of an optimalinteraction (e.g., a sale) are small, but the monetary and satisfactioncost of the contact is high.

One embodiment of the present invention comprises the injection of adegree of randomness into the contact routing process such that thespecific agent identified by the present invention as optimal or theordering of agents produced is randomly overridden, and the caller isconnected to an agent not necessarily identified as optimal for thecaller. Such an injection of partial randomness may be useful in thecase where the present invention would like certain agents to beconnected to callers that they would not normally be likely to beconnected to under the normal functioning in order for the agents topotentially learn from such interactions and improve their abilities inhandling such callers. The degree of randomness can be set to 0.1percent, in which case essentially no randomness is injected into thecontact routing process, to 99.9 percent in which case the presentinvention is essentially not functioning at all, to 50 percent in whichcase half of all callers are routed randomly to agents, or any othervalue between 0.1 percent and 99.9 percent. Optionally, this degree ofrandomness can be set by the contact center, an agent, or by the contactcenter's clients. Such a setting may be done remotely over a datatransfer and retrieval system like the internet, and can be configuredto take immediate effect or may be set to take effect at a subsequenttime.

The present invention may store data specific to each routed caller forsubsequent analysis. For example, the present invention can store datagenerated in any computer model, including the chances for an optimalinteraction as predicted by the computer model, such as the chances ofsales, contact durations, customer satisfaction, or other parameters.Such a store may include actual data for the caller connection that wasmade, including the agent and caller data, whether a sale occurred, theduration of the contact, and the level of customer satisfaction. Such astore may also include actual data for the agent to caller matches thatwere made, as well as how, which, and when matches were consideredpursuant to connection rules and prior to connection to a particularagent.

This stored information may be analyzed in several ways. One possibleway is to analyze the cumulative effect of the present invention on anoptimal interaction over different intervals of time and report thateffect to the contact center or the contact center client. For example,the present invention can report back as to the cumulative impact of thepresent invention in enhancing revenues, reducing costs, increasingcustomer satisfaction, over five minute, one hour, one month, one year,and other time intervals, such as since the beginning of a particularclient solicitation campaign. Similarly, the present invention cananalyze the cumulative effect of the present invention in enhancingrevenue, reducing costs, and increasing satisfaction over a specifiednumber of callers, for instance 10 callers, 100 callers, 1000 callers,the total number of callers processed, or other total numbers ofcallers.

One method for reporting the cumulative effect of employing the presentinvention comprises matching a caller with each agent logged in at thecontact center, averaging the chances of an optimal interaction overeach agent, determining which agent was connected to the caller,dividing the chance of an optimal interaction for the connected agent bythe average chance, and generating a report of the result. In thismanner, the effect of the present invention can be reported as thepredicted increase associated with routing a caller to a specific agentas opposed to randomly routing the caller to any logged-in agent. Thisreporting method can also be modified to compare the optimal interactionchance of a specific agent routing against the chances of an optimalinteraction as averaged over all available agents or over all logged-inagents since the commencement of a particular campaign. In fact, bydividing the average chance of an optimal interaction over allunavailable agents at a specific period of time by the average chance ofan optimal interaction over all available agents at that same time, areport can be generated that indicates the overall boost created by thepresent invention to the chance of an optimal interaction at that time.Alternatively, the present invention can be monitored, and reportsgenerated, by cycling the present invention on and off for a singleagent or group of agents over a period of time, and measuring the actualcontact results. In this manner, it can be determined what the actual,measured benefits are created by employing the present invention.

Embodiments of the present invention can include a visual computerinterface and printable reports provided to the contact center or theirclients to allow them to, in a realtime or a past performance basis,monitor the statistics of agent to caller matches, measure the optimalinteractions that are being achieved versus the interactions predictedby the computer model, as well as any other measurements of real time orpast performance using the methods described herein. A visual computerinterface for changing the weighting on an optimal interaction can alsobe provided to the contact center or the contact center client, suchthat they can, as discussed herein, monitor or change the weightings inreal time or at a predetermined time in the future.

Embodiments of the present invention can be used to create anintelligent routing system, the system comprising means for grading twoor more agents on an optimal interaction, and means for matching acaller with at least one of the two or more graded agents to increasethe chance of the optimal interaction. Means for grading an agent cancomprise, as discussed herein, the use of manual or automatic surveys,the use of a computational device and database to record an agent'srevenue generation performance per call, the agent's contact time percaller, or any other performance criteria that can be electronicallyrecorded. Means for matching the caller with at least one of the two ormore graded agents can comprise any computational device. Theintelligent routing system can further comprise means for connecting thecaller with one of the two or more agents, such as a switching system.The system can further comprise a dialer, a callerID device, and othercommercially-available telephony or telecommunications equipment, aswell as memory containing a database, such as a commercially availabledatabase, publicly-available database, client database, or contactcenter database.

In a more advanced embodiment, the present invention can be used tocreate an intelligent routing system, the system comprising means fordetermining at least one agent data for each of two or more agents,determining at least one caller data for a caller, means for using theagent data and the caller data in a pattern matching algorithm, andmeans for matching the caller to one of the two or more agents toincrease the chance of an optimal interaction. Means for determiningagent data can comprise the use of manual or automatic surveys, whichcan be recorded in hardcopy or electronic form, such as through the useof computer memory containing databases for storing such information.Means for determining caller data can comprise the use of computermemory containing a database with caller data, such as acommercially-available database, client database, or contact centerdatabase. Means for determining caller data can also comprise the use ofa CallerID device as well as telephony or other telecommunicationsequipment for receiving a caller's account number or othercaller-identifying information. Means for using the agent data and thecaller data in a pattern matching algorithm can comprise a computationaldevice. Means for matching the caller to one of the two or more agentscan also comprise the use of a computational device. This embodiment ofthe intelligent routing system can also comprise means for connectingthe caller with one of the two or more agents, such as a switching orrouting system. The system can also comprise means for contacting acaller, such as a dialer or telephony equipment that can be used by anagent to contact the caller.

Embodiments of the present invention can further include a method ofidentifying an agent pool to increase the chances of an optimalinteraction for the contact center generally, or for specific contactcenter clients. By identifying an agent pool with this method, thecontact center can configure an agent pool that increases the contactcenter's overall chances for obtaining a sale, operating at low cost,obtaining an acceptable level of customer satisfaction, or some otheroptimal interaction. The agent pool can also be identified andconfigured to increase these overall chances of a chosen optimalinteraction for a specific contact center client or group of clients.

The method of identifying an ideal agent pool can comprise determiningan optimal interaction, determining a set of caller data for a sample ofcallers, determining a set of agent data, generating a computer modelfor the optimal interaction with the set of caller data and the set ofagent data, and identifying agent data that increases the overallchances of the optimal interaction. The step of determining a set ofcaller data can comprise determining the set from actual caller data,predicted or theoretical caller data, or a mixture thereof. The step ofdetermining a set of agent data can comprise determining the set fromactual agent data, predicted or theoretical agent data, or a mixturethereof. By passing this data through a pattern matching algorithm, acomputer model can be generated reflecting the predicted chances of anoptimal interaction occurring when callers with the set of caller dataare matched with agents with the agent data. The computer model can thenbe parsed to determine what agent data is most effective for an optimalinteraction.

For example, it may be that, for a certain sample of callers, Latinofemales between the ages of 21 and 25 with an interest in televisionshows are better at generating revenue with those callers than agents ofother agent data. By using the present invention, a contact center canidentify that agents with such agent data are ideal for maximizing thechances of an optimal interaction for certain callers. The contactcenter can then configure its operations to have an ideal agent pool,either for a particular client, a group of clients, or for the contactcenter in general. The ideal agent pool can be configured by groupingagents that the contact center has already acquired, by determining whattypes of agents the contact center should hire, or a mixture thereof.This embodiment can thus be particularly useful in identifying whatagents to hire, transfer, or terminate.

Many of the techniques described here may be implemented in hardware orsoftware, or a combination of the two. Preferably, the techniques areimplemented in computer programs executing on programmable computersthat each includes a processor, a storage medium readable by theprocessor (including volatile and nonvolatile memory and/or storageelements), and suitable input and output devices. Program code isapplied to data entered using an input device to perform the functionsdescribed and to generate output information. The output information isapplied to one or more output devices. Moreover, each program ispreferably implemented in a high level procedural or object-orientedprogramming language to communicate with a computer system. However, theprograms can be implemented in assembly or machine language, if desired,In any case, the language may be a compiled or interpreted language.

Each such computer program is preferably stored on a storage medium ordevice (e.g., CD-ROM, hard disk or magnetic diskette) that is readableby a general or special purpose programmable computer for configuringand operating the computer when the storage medium or device is read bythe computer to perform the procedures described. The system also may beimplemented as a computer-readable storage medium, configured with acomputer program, where the storage medium so configured causes acomputer to operate in a specific and predefined manner.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram reflecting the general setup of a contact centeroperation.

FIG. 2 is a flowchart reflecting one embodiment of the inventioninvolving a method for the operating an inbound contact center.

FIG. 3 is a flowchart reflecting one embodiment of the inventioninvolving a method for the operating an inbound contact center withweighted optimal interactions.

FIG. 4 is a flowchart reflecting one embodiment of the inventionreflecting a method of operating an outbound contact center.

FIG. 5 is a flowchart reflecting a more advanced embodiment of thepresent invention using agent data and caller data in an inbound contactcenter.

FIG. 6 is a flowchart reflecting a more advanced embodiment of thepresent invention using agent data and caller data in an outboundcontact center.

FIG. 7 is a flowchart reflecting an embodiment of the present inventionfor configuring an ideal agent pool.

DESCRIPTION

FIG. 1 is a diagram reflecting the general setup of a contact centeroperation 100. The network cloud 101 reflects a specific or regionaltelecommunications network designed to receive incoming callers or tosupport contacts made to outgoing callers. The network cloud 101 cancomprise a single contact address, such as a telephone number or emailaddress, or multiple contract addresses. The central router 102 reflectscontact routing hardware and software designed to help route contactsamong call centers 103. The central router 102 may not be needed wherethere is only a single contact center deployed. Where multiple contactcenters are deployed, more routers may be needed to route contacts toanother router for a specific contact center 103. At the contact centerlevel 103, a contact center router 104 will route a contact to an agent105 with an individual telephone or other telecommunications equipment105. Typically, there are multiple agents 105 at a contact center 103,though there are certainly embodiments where only one agent 105 is atthe contact center 103, in which case a contact center router 104 mayprove to be unnecessary.

FIG. 2 is a flowchart of one embodiment of the invention involving amethod for the operating an inbound contact center, the methodcomprising grading two agents on an optimal interaction and matching acaller with at least one of the two graded agents to increase the chanceof the optimal interaction. In the initial step 201, agents are gradedon an optimal interaction, such as increasing revenue, decreasing costs,or increasing customer satisfaction. Grading is accomplished bycollating the performance of a contact center agent over a period oftime on their ability to achieve an optimal interaction, such as aperiod of at least 10 days. However, the period of time can be as shortas the immediately prior contact to a period extending as long as theagent's first interaction with a caller. Moreover, the method of gradingagent can be as simple as ranking each agent on a scale of 1 to N for aparticular optimal interaction, with N being the total number of agents.The method of grading can also comprise determining the average contacthandle time of each agent to grade the agents on cost, determining thetotal sales revenue or number of sales generated by each agent to gradethe agents on sales, or conducting customer surveys at the end ofcontacts with callers to grade the agents on customer satisfaction. Theforegoing, however, are only examples of how agents may be graded; manyother methods exist.

In step 202 a caller uses contact information, such as a telephonenumber or email address, to initiate a contact with the contact center.In step 203, the caller is matched with an agent or group of agents suchthat the chance of an optimal interaction is increased, as opposed tojust using the round robin matching methods of the prior art. Thematching can occur between a caller and all agents logged in at thecontact center, all agents currently available for a contact at thecontact center, or any mix or subgroup thereof. The matching rules canbe set such that agents with a minimum grade are the only ones suitablefor matching with a caller. The matching rules can also be set such thatan available agent with the highest grade for an optimal interaction ormix thereof is matched with the caller. To provide for the case in whichan agent may have become unavailable in the time elapsed from the time acontact was initiated to the time the switch was directed to connect thecaller to a specific agent, instead of directing the switch to connectthe caller to a single agent, the matching rules can define an orderingof agent suitability for a particular caller and match the caller to thehighest-graded agent in that ordering. In step 204, the caller is thenconnected to a graded agent to increase the chance of an optimalinteraction, and the contact interaction between the agent and thecaller then occurs.

FIG. 3 is a flowchart of one embodiment of the invention involving amethod for the operating an inbound contact center, the methodcomprising grading a group of at least agents on two optimalinteractions, weighting one optimal interaction against another optionalinteraction, and connecting the caller with one of the two graded agentsto increase the chance of a more heavily-weighted optimal interaction.In step 301, agents are graded on two or more optimal interactions, suchas increasing revenue, decreasing costs, or increasing customersatisfaction. In step 302, the optimal interactions are weighted againsteach other. The weighting can be as simple as assigning to each optimalinteraction a percentage weight factor, with all such factors totalingto 100 percent. Any comparative weighting method can be used, however.The weightings placed on the various optimal interactions can take placein real-time in a manner controlled by the contact center, its clients,or in line with pre-determined rules. Optionally, the contact center orits clients may control the weighting over the internet or some anotherdata transfer system. As an example, a client of the contact centercould access the weightings currently in use over an internet browserand modify these remotely. Such a modification may be set to takeimmediate effect and, immediately after such a modification, subsequentcaller routings occur in line with the newly establishing weightings. Aninstance of such an example may arise in a case where a contact centerclient decides that the most important strategic priority in theirbusiness at present is the maximization of revenues. In such a case, theclient would remotely set the weightings to favor the selection ofagents that would generate the greatest probability of a sale in a givencontact. Subsequently the client may take the view that maximization ofcustomer satisfaction is more important for their business. In thisevent, they can remotely set the weightings of the present inventionsuch that callers are routed to agents most likely to maximize theirlevel of satisfaction. Alternatively the change in weighting may be setto take effect at a subsequent time, for instance, commencing thefollowing morning.

In step 303, a caller uses contact information, such as a telephonenumber or email address, to initiate a contact with the contact center.In step 304, the optimal interaction grades for the graded agents areused with the weights placed on those optimal interactions to deriveweighted grades for those graded agents. In step 305, the caller ismatched with an available agent with the highest weighted grade for theoptimal interaction. In step 306, the caller is then connected to theagent with the highest weighted grade to increase the chance of themore-heavily weighted optimal interaction. This embodiment can also bemodified such that the caller is connected to the agent with thehighest-weighted mix of grades to increase the chance of themore-heavily weighted mix of optimal interactions. It will beappreciated that the steps outlined in the flowchart of FIG. 3 need notoccur in that exact order.

FIG. 4 is a flowchart of one embodiment of the invention reflecting amethod of operating an outbound contact center, the method comprising,identifying a group of at least two callers, grading two agents on anoptimal interaction; and matching at least one of the two graded agentswith at least one caller from the group. In step 401, a group of atleast two callers is identified. This is typically accomplished throughthe use of lead list that is provided to the contact center by thecontact center's client. In step 402, a group of at least two agents aregraded on an optimal interaction. In step 403, the agent grades are usedto match one or more of the callers from the group with one or more ofthe graded agents to increase the chance of an optimal interaction. Thismatching can be embodied in the form of separate lead lists generatedfor one or more agents, which the agents can then use to conduct theirsolicitation efforts.

In an outbound contact center employing telephone devices, it is morecommon to have a dialer call through a lead list. Upon a dialerobtaining a live caller, the present invention can determine theavailable agents and their respective grades for the optimalinteraction, match the live caller with one or more of the availableagents to increase the chance of an optimal interaction, and connect thecaller with one of those agents who can then conduct their solicitationeffort. Preferably, the present invention will match the live callerwith a group of agents, define an ordering of agent suitability for thecaller, match the live caller to the highest-graded agent currentlyavailable in that ordering, and connect the caller to the highest-gradedagent. In this manner, use of a dialer becomes more efficient in thepresent invention, as the dialer should be able to continuously callthrough a lead list and obtain live callers as quickly as possible,which the present invention can then match and connect to the highestgraded agent currently available. It will be appreciated that the stepsoutlined in the flowchart of FIG. 4 need not occur in that exact order.

FIG. 5 is a flowchart reflecting a more advanced embodiment of thepresent invention that can be used to increase the chances of an optimalinteraction by combining agent grades, agent demographic data, agentpsychographic data, and other business-relevant data about the agent(individually or collectively referred to in this application as “agentdata”), along with demographic, psychographic, and otherbusiness-relevant data about callers (individually or collectivelyreferred to in this application as “caller data”). Agent and callerdemographic data can comprise any of: gender, race, age, education,accent, income, nationality, ethnicity, area code, zip code, maritalstatus, job status, and credit score. Agent and caller psychographicdata can comprise any of introversion, sociability, desire for financialsuccess, and film and television preferences. It will be appreciatedthat the steps outlined in the flowchart of FIG. 5 need not occur inthat exact order.

Accordingly, an embodiment of a method for operating an inbound contactcenter comprises determining at least one caller data for a caller,determining at least one agent data for each of two agents, using theagent data and the caller data in a pattern matching algorithm, andmatching the caller to one of the two agents to increase the chance ofan optimal interaction. In step 501, at least one caller data (such as acaller demographic or psychographic data) is determined. One way ofaccomplishing this is by retrieving this from available databases byusing the caller's contact information as an index. Available databasesinclude, but are not limited to, those that are publicly available,those that are commercially available, or those created by a contactcenter or a contact center client. In an outbound contact centerenvironment, the caller's contact information is known beforehand. In aninbound contact center environment, the caller's contact information canbe retrieved by examining the caller's CallerID information or byrequesting this information of the caller at the outset of the contact,such as through entry of a caller account number or othercaller-identifying information. Other business-relevant data such ashistoric purchase behavior, current level of satisfaction as a customer,or volunteered level of interest in a product may also be retrieved fromavailable databases.

In step 502, at least one agent data for each of two agents isdetermined. One method of determining agent demographic or psychographicdata can involve surveying agents at the time of their employment orperiodically throughout their employment. Such a survey process can bemanual, such as through a paper or oral survey, or automated with thesurvey being conducted over a computer system, such as by deploymentover a web-browser.

Though this advanced embodiment preferably uses agent grades,demographic, psychographic, and other business-relevant data, along withcaller demographic, psychographic, and other business-relevant data,other embodiments of the present invention can eliminate one or moretypes or categories of caller or agent data to minimize the computingpower or storage necessary to employ the present invention.

Once agent data and caller data have been collected, this data is passedto a computational system. The computational system then, in turn, usesthis data in a pattern matching algorithm in step 503 to create acomputer model that matches each agent with the caller and estimates theprobable outcome of each matching along a number of optimalinteractions, such as the generation of a sale, the duration of contact,or the likelihood of generating an interaction that a customer findssatisfying.

The pattern matching algorithm to be used in the present invention cancomprise any correlation algorithm, such as a neural network algorithmor a genetic algorithm. To generally train or otherwise refine thealgorithm, actual contact results (as measured for an optimalinteraction) are compared against the actual agent and caller data foreach contact that occurred. The pattern matching algorithm can thenlearn, or improve its learning of, how matching certain callers withcertain agents will change the chance of an optimal interaction. In thismanner, the pattern matching algorithm can then be used to predict thechance of an optimal interaction in the context of matching a callerwith a particular set of caller data, with an agent of a particular setof agent data. Preferably, the pattern matching algorithm isperiodically refined as more actual data on caller interactions becomesavailable to it, such as periodically training the algorithm every nightafter a contact center has finished operating for the day.

In step 504, the pattern matching algorithm is used to create a computermodel reflecting the predicted chances of an optimal interaction foreach agent and caller matching. Preferably, the computer model willcomprise the predicted chances for a set of optimal interactions forevery agent that is logged in to the contact center as matched againstevery available caller. Alternatively, the computer model can comprisesubsets of these, or sets containing the aforementioned sets. Forexample, instead of matching every agent logged into the contact centerwith every available caller, the present invention can match everyavailable agent with every available caller, or even a narrower subsetof agents or callers. Likewise, the present invention can match everyagent that ever worked on a particular campaign—whether available orlogged in or not—with every available caller. Similarly, the computermodel can comprise predicted chances for one optimal interaction or anumber of optimal interactions.

The computer model can also be further refined to comprise a suitabilityscore for each matching of an agent and a caller. The suitability scorecan be determined by taking the chances of a set of optimal interactionsas predicted by the pattern matching algorithm, and weighting thosechances to place more or less emphasis on a particular optimalinteraction as related to another optimal interaction. The suitabilityscore can then be used in the present invention to determine whichagents should be connected to which callers.

In step 505, connection rules are applied to define when or how toconnect agents that are matched to a caller, and the caller isaccordingly connected with an agent. The connection rules can be assimple as instructing the present invention to connect a calleraccording to the best match among all available agents with thatparticular caller. In this manner, caller hold time can be minimized.The connection rules can also be more involved, such as instructing thepresent invention to connect a caller only when a minimum thresholdmatch exists between an available agent and a caller, to allow a definedperiod of time to search for a minimum matching or the best availablematching at that time, or to define an order of agent suitability for aparticular caller and connect the caller with a currently availableagent in that order with the best chances of achieving an optimalinteraction. The connection rules can also purposefully keep certainagents available while a search takes place for a potentially bettermatch.

It is typical for a queue of callers on hold to form at a contactcenter. When a queue has formed it is desirable to minimize the holdtime of each caller in order to increase the chances of obtainingcustomer satisfaction and decreasing the cost of the contact, which costcan be, not only a function of the contact duration, but also a functionof the chance that a caller will drop the contact if the wait is toolong. After matching the caller with agents, the connection rules canthus be configured to comprise an algorithm for queue jumping, whereby afavorable match of a caller on hold and an available agent will resultin that caller “jumping” the queue by increasing the caller's connectionpriority so that the caller is passed to that agent first ahead ofothers in the chronologically listed queue. The queue jumping algorithmcan be further configured to automatically implement a trade-off betweenthe cost associated with keeping callers on hold against the benefit interms of the chance of an optimal interaction taking place if the calleris jumped up the queue, and jumping callers up the queue to increase theoverall chance of an optimal interaction taking place over time at anacceptable or minimum level of cost or chance of customer satisfaction.Callers can also be jumped up a queue if an affinity database indicatesthat an optimal interaction is particularly likely if the caller ismatched with a specific agent that is already available.

Ideally, the connection rules should be configured to avoid situationswhere matches between a caller in a queue and all logged-in agents arelikely to result in a small chance of a sale, but the cost of thecontact is long and the chances of customer satisfaction slim becausethe caller is kept on hold for a long time while the present inventionwaits for the most optimal agent to become available. By identifyingsuch a caller and jumping the caller up the queue, the contact centercan avoid the situation where the overall chances of an optimalinteraction (e.g., a sale) are small, but the monetary and satisfactioncost of the contact is high.

An embodiment of the present invention can also comprise the injectionof a degree of randomness into the contact routing process such that thespecific agent identified by the present invention as optimal or theordering of agents produced is randomly overridden, and the caller isconnected to an agent not necessarily identified as optimal for thecaller. Such an injection of partial randomness may be useful in thecase where the present invention would like certain agents to beconnected to callers that they would not normally be likely to beconnected to under the normal functioning in order for the agents topotentially learn from such interactions and improve their abilities inhandling such callers. The degree of randomness can be set to 0.1percent, in which case essentially no randomness is injected into thecontact routing process, to 99.9 percent in which case the presentinvention is essentially not functioning at all, to 50 percent in whichcase half of all callers are routed randomly to agents, or any othervalue between 0.1 percent and 99.9 percent. Optionally, this degree ofrandomness can be set by the contact center, an agent, or by the contactcenter's clients. Such a setting may be done remotely over a datatransfer and retrieval system like the internet, and can be configuredto take immediate effect or may be set to take effect at a subsequenttime.

Embodiments of the present invention can also comprise affinitydatabases, the databases comprising data on an individual caller'scontact outcomes (referred to in this application as “caller affinitydata”), independent of their demographic, psychographic, or otherbusiness-relevant information. Such caller affinity data can include thecaller's purchase history, contact time history, or customersatisfaction history. These histories can be general, such as thecaller's general history for purchasing products, average contact timewith an agent, or average customer satisfaction ratings. These historiescan also be agent specific, such as the caller's purchase, contact time,or customer satisfaction history when connected to a particular agent.

The caller affinity data can then be used to refine the matches that canbe made using the present invention. As an example, a certain caller maybe identified by their caller affinity data as one highly likely to makea purchase, because in the last several instances in which the callerwas contacted, the caller elected to purchase a product or service. Thispurchase history can then be used to appropriately refine matches suchthat the caller is preferentially matched with an agent deemed suitablefor the caller to increase the chances of an optimal interaction. Usingthis embodiment, a contact center could preferentially match the callerwith an agent who does not have a high grade for generating revenue orwho would not otherwise be an acceptable match, because the chance of asale is still likely given the caller's past purchase behavior. Thisstrategy for matching would leave available other agents who could haveotherwise been occupied with a contact interaction with the caller.Alternatively, the contact center may instead seek to guarantee that thecaller is matched with an agent with a high grade for generatingrevenue, irrespective of what the matches generated using caller dataand agent demographic or psychographic data may indicate.

A more advanced affinity database developed by the present invention isone in which a caller's contact outcomes are tracked across the variousagent data. Such an analysis might indicate, for example, that thecaller is most likely to be satisfied with a contact if they are matchedto an agent of similar gender, race, age, or even with a specific agent.Using this embodiment, the present invention could preferentially matcha caller with a specific agent or type of agent that is known from thecaller affinity data to have generated an acceptable optimalinteraction.

Affinity databases can provide particularly actionable information abouta caller when commercial, client, or publicly-available database sourcesmay lack information about the caller. This database development canalso be used to further enhance contact routing and agent-to-callermatching even in the event that there is available data on the caller,as it may drive the conclusion that the individual caller's contactoutcomes may vary from what the commercial databases might imply. As anexample, if the present invention was to rely solely on commercialdatabases in order to match a caller and agent, it may predict that thecaller would be best matched to an agent of the same gender to achieveoptimal customer satisfaction. However, by including affinity databaseinformation developed from prior interactions with the caller, thepresent invention might more accurately predict that the caller would bebest matched to an agent of the opposite gender to achieve optimalcustomer satisfaction.

Another aspect of the present invention is that it may develop affinitydatabases that comprise revenue generation, cost, and customersatisfaction performance data of individual agents as matched withspecific caller demographic, psychographic, or other business-relevantcharacteristics (referred to in this application as “agent affinitydata”). An affinity database such as this may, for example, result inthe present invention predicting that a specific agent performs best ininteractions with callers of a similar age, and less well ininteractions with a caller of a significantly older or younger age.Similarly this type of affinity database may result in the presentinvention predicting that an agent with certain agent affinity datahandles callers originating from a particular geography much better thanthe agent handles callers from other geographies. As another example,the present invention may predict that a particular agent performs wellin circumstances in which that agent is connected to an irate caller.

Though affinity databases are preferably used in combination with agentdata and caller data that pass through a pattern matching algorithm togenerate matches, information stored in affinity databases can also beused independently of agent data and caller data such that the affinityinformation is the only information used to generate matches.

FIG. 6 reflects a method for operating an outbound contact center, themethod comprising, determining at least one agent data for each of twoagents, identifying a group of at least two callers, determining atleast one caller data for at least one caller from the group, using theagent data and the caller data in a pattern matching algorithm; andmatching at least one caller from the group to one of the two agents toincrease the chance of an optimal interaction. In step 601, at least oneagent data is determined for a group of at least two agents. In step602, a group at least two callers is identified. This is typicallyaccomplished through the use of lead list that is provided to thecontact center by the contact center's client. In step 603, at least onecaller data for at least one caller from the group is identified.

Once agent data and caller data have been collected, this data is passedto a computational system. The computational system then, in turn, usesthis data in a pattern matching algorithm in step 604 to create acomputer model that matches each agent with a caller from the group andestimates the probable outcome of each matching along a number ofoptimal interactions, such as the generation of a sale, the duration ofcontact, or the likelihood of generating an interaction that a customerfinds satisfying. In step 605, the pattern matching algorithm is used tocreate a computer model reflecting the predicted chances of an optimalinteraction for each agent and caller matching.

In step 606, callers are matched with an agent or a group of agents.This matching can be embodied in the form of separate lead listsgenerated for one or more agents, which the agents can then use toconduct their solicitation efforts. In step 607, the caller is connectedto the agent and the agent conducts their solicitation effort. It willbe appreciated that the steps outlined in the flowchart of FIG. 6 neednot occur in that exact order.

Where a dialer is used to call through a lead list, upon obtaining alive caller, the system can determine the available agents, use callerand agent data with a pattern matching algorithm to match the livecaller with one or more of the available agents, and connect the callerwith one of those agents. Preferably, the system will match the livecaller with a group of agents, define an ordering of agent suitabilityfor the caller within that group, match the live caller to thehighest-graded agent that is available in that ordering, and connect thecaller to that highest-graded agent. In matching the live caller with agroup of agents, the present invention can be used to determine acluster of agents with similar agent data, such as similar demographicdata or psychographic data, and further determine within that cluster anordering of agent suitability. In this manner, the present invention canincrease the efficiency of the dialer and avoid having to stop thedialer until an agent with specific agent data becomes available.

The present invention may store data specific to each routed caller forsubsequent analysis. For example, the present invention can store datagenerated in any computer model, including the chances for an optimalinteraction as predicted by the computer model, such as the chances ofsales, contact durations, customer satisfaction, or other parameters.Such a store may include actual data for the caller connection that wasmade, including the agent and caller data, whether a sale occurred, theduration of the contact, and the level of customer satisfaction. Such astore may also include actual data for the agent to caller matches thatwere made, as well as how, which, and when matches were consideredpursuant to connection rules and prior to connection to a particularagent.

This stored information may be analyzed in several ways. One possibleway is to analyze the cumulative effect of the present invention on anoptimal interaction over different intervals of time and report thateffect to the contact center or the contact center client. For example,the present invention can report back as to the cumulative impact of thepresent invention in enhancing revenues, reducing costs, increasingcustomer satisfaction, over five minute, one hour, one month, one year,and other time intervals, such as since the beginning of a particularclient solicitation campaign. Similarly, the present invention cananalyze the cumulative effect of the present invention in enhancingrevenue, reducing costs, and increasing satisfaction over a specifiednumber of callers, for instance 10 callers, 100 callers, 1000 callers,the total number of callers processed, or other total numbers ofcallers.

One method for reporting the cumulative effect of employing the presentinvention comprises matching a caller with each agent logged in at thecontact center, averaging the chances of an optimal interaction overeach agent, determining which agent was connected to the caller,dividing the chance of an optimal interaction for the connected agent bythe average chance, and generating a report of the result. In thismanner, the effect of the present invention can be reported as thepredicted increase associated with routing a caller to a specific agentas opposed to randomly routing the caller to any logged-in agent. Thisreporting method can also be modified to compare the optimal interactionchance of a specific agent routing against the chances of an optimalinteraction as averaged over all available agents or over all logged-inagents since the commencement of a particular campaign. In fact, bydividing the average chance of an optimal interaction over allunavailable agents at a specific period of time by the average chance ofan optimal interaction over all available agents at that same time, areport can be generated that indicates the overall boost created by thepresent invention to the chance of an optimal interaction at that time.Alternatively, the present invention can be monitored, and reportsgenerated, by cycling the present invention on and off for a singleagent or group of agents over a period of time, and measuring the actualcontact results. In this manner, it can be determined what the actual,measured benefits are created by employing the present invention.

Embodiments of the present invention can include a visual computerinterface and printable reports provided to the contact center or theirclients to allow them to, in a realtime or a past performance basis,monitor the statistics of agent to caller matches, measure the optimalinteractions that are being achieved versus the interactions predictedby the computer model, as well as any other measurements of real time orpast performance using the methods described herein. A visual computerinterface for changing the weighting on an optimal interaction can alsobe provided to the contact center or the contact center client, suchthat they can, as discussed herein, monitor or change the weightings inreal time or at a predetermined time in the future.

An embodiment of the present invention can also comprise an intelligentrouting system, the system comprising means for grading two or moreagents on an optimal interaction, and means for matching a caller withat least one of the two or more graded agents to increase the chance ofthe optimal interaction. Means for grading an agent can comprise, asdiscussed herein, the use of manual or automatic surveys, the use of acomputational device and database to record an agent's revenuegeneration performance per call, the agent's contact time per caller, orany other performance criteria that can be electronically recorded.Means for matching the caller with at least one of the two or moregraded agents can comprise any computational device. The intelligentrouting system can further comprise means for connecting the caller withone of the two or more agents, such as a switching system. The systemcan further comprise a dialer, a callerID device, and othercommercially-available telephony or telecommunications equipment, aswell as memory containing a database, such as a commercially availabledatabase, publicly-available database, client database, or contactcenter database.

In a more advanced embodiment, the present invention can be used tocreate an intelligent routing system, the system comprising means fordetermining at least one agent data for each of two or more agents,determining at least one caller data for a caller, means for using theagent data and the caller data in a pattern matching algorithm, andmeans for matching the caller to one of the two or more agents toincrease the chance of an optimal interaction. Means for determiningagent data can comprise the use of manual or automatic surveys, whichcan be recorded in hardcopy or electronic form, such as through the useof computer memory containing databases for storing such information.Means for determining caller data can comprise the use of computermemory containing a database with caller data, such as acommercially-available database, client database, or contact centerdatabase. Means for determining caller data can also comprise the use ofa CallerID device as well as telephony or other telecommunicationsequipment for receiving a caller's account number or othercaller-identifying information. Means for using the agent data and thecaller data in a pattern matching algorithm can comprise a computationaldevice. Means for matching the caller to one of the two or more agentscan also comprise the use of a computational device. This embodiment ofthe intelligent routing system can also comprise means for connectingthe caller with one of the two or more agents, such as a switching orrouting system. The system can also comprise means for contacting acaller, such as a dialer or telephony equipment that can be used by anagent to contact the caller.

FIG. 7 is a flowchart reflecting an embodiment of the present inventionthat comprises a method of identifying an agent pool to increase thechances of an optimal interaction for the contact center generally, orfor specific contact center clients. By identifying an agent pool withthis method, the contact center can configure an agent pool thatincreases the contact center's overall chances for obtaining a sale,operating at low cost, obtaining an acceptable level of customersatisfaction, or some other optimal interaction. The agent pool can alsobe identified and configured to increase these overall chances of achosen optimal interaction for a specific contact center client or groupof clients.

The method of identifying an ideal agent pool can comprise determiningan optimal interaction, determining a set of caller data for a sample ofcallers, determining a set of agent data, generating a computer modelfor the optimal interaction with the set of caller data and the set ofagent data, and identifying agent data that increases the overallchances of the optimal interaction. In step 701, a set of caller data isdetermined from actual caller data, predicted or theoretical callerdata, or a mixture thereof. In step 702, a set of agent data isdetermined from actual agent data, predicted or theoretical agent data,or a mixture thereof. In step 703, the set of caller data and the set ofagent data are used in a pattern matching algorithm. In step 704, acomputer model is then derived that reflects the predicted chances of anoptimal interaction occurring when callers with the set of caller dataare matched with agents with the set of agent data.

In step 705, the computer model is then parsed to determine what agentdata is most effective for an optimal interaction. In this manner, acontact center can identify that agents with such agent data are idealfor maximizing the chances of an optimal interaction for certaincallers. In step 706, the contact center's operations are accordinglyconfigured to have an ideal agent pool for a particular client, a groupof clients, or for the contact center in general. This configuration canbe accomplished by specifically grouping agents that the contact centerhas already acquired, by determining what types of agents the contactcenter should hire, or a mixture thereof. This embodiment can thus beparticularly useful in identifying what agents to hire, transfer, orterminate. It will be appreciated that the steps outlined in theflowchart of FIG. 7 need not occur in that exact order.

Many of the techniques described here may be implemented in hardware orsoftware, or a combination of the two. Preferably, the techniques areimplemented in computer programs executing on programmable computersthat each includes a processor, a storage medium readable by theprocessor (including volatile and nonvolatile memory and/or storageelements), and suitable input and output devices. Program code isapplied to data entered using an input device to perform the functionsdescribed and to generate output information. The output information isapplied to one or more output devices. Moreover, each program ispreferably implemented in a high level procedural or object-orientedprogramming language to communicate with a computer system. However, theprograms can be implemented in assembly or machine language, if desired.In any case, the language may be a compiled or interpreted language.

Each such computer program is preferably stored on a storage medium ordevice (e.g., CD-ROM, hard disk or magnetic diskette) that is readableby a general or special purpose programmable computer for configuringand operating the computer when the storage medium or device is read bythe computer to perform the procedures described. The system also may beimplemented as a computer-readable storage medium, configured with acomputer program, where the storage medium so configured causes acomputer to operate in a specific and predefined manner.

The above-described embodiments of the present invention are merelymeant to be illustrative and not limiting. Various changes andmodifications may be made without departing from the invention in itsbroader aspects. The appended claims encompass such changes andmodifications within the spirit and scope of the invention.

The invention claimed is:
 1. A method for handling contacts and agentsin a contact center system comprising: automatically identifying, by atleast one computer processor, a plurality of contacts orderedchronologically in a queue for assignment to a plurality of agents;automatically identifying, by the at least one computer processor,information about a first agent of the plurality of agents that becomesavailable for assignment; automatically assigning, by the at least onecomputer processor, a first out-of-order contact from the plurality ofcontacts to the first agent based on the information about the firstagent and information about the first out-of-order contact, wherein thefirst out-of-order contact is a contact in the plurality of contactsthat is assigned before at least one other contact of the plurality ofcontacts that is ordered chronologically ahead of the first out-of-ordercontact in the queue; and automatically connecting, by the at least onecomputer processor, the first out-of-order contact to the first agent.2. The method of claim 1, wherein the plurality of contacts are orderedchronologically in the queue based on respective contact center systemarrival times of each contact of the plurality of contacts.
 3. Themethod of claim 1, wherein automatically assigning the firstout-of-order contact increases an expected wait time of a first in-ordercontact of the plurality of contacts.
 4. The method of claim 1, furthercomprising automatically determining that an expected improvement to acontact interaction by automatically assigning the first out-of-ordercontact outweighs an expected cost by keeping a first in-order contactof the plurality of contacts on hold.
 5. The method of claim 1, furthercomprising automatically searching the plurality of contacts for anassignment based on the information about the first agent.
 6. The methodof claim 1, wherein the first out-of-order contact is automaticallyconnected using an outbound dialer of the contact center system.
 7. Themethod of claim 1, further comprising automatically assigning a secondout-of-order contact from the plurality of contacts to a second agent ofthe plurality of agents that becomes available for assignment to any ofa remainder of the plurality of contacts based on information about thesecond agent.
 8. A system for handling contacts and agents in a contactcenter system comprising: a processor communicatively coupled to thecontact center system, wherein the processor is configured to:automatically identify a plurality of contacts ordered chronologicallyin a queue for assignment to a plurality of agents; automaticallyidentify information about a first agent of the plurality of agents thatbecomes available for assignment; automatically assign a firstout-of-order contact from the plurality of contacts to the first agentbased on the information about the first agent and information about thefirst out-of-order contact, wherein the first out-of-order contact is acontact in the plurality of contacts that is assigned before at leastone other contact of the plurality of contacts that is orderedchronologically ahead of the first out-of-order contact in the queue;and automatically connect the first out-of-order contact to the firstagent.
 9. The system of claim 8, wherein the plurality of contacts areordered chronologically in the queue based on respective contact centersystem arrival times of each contact of the plurality of contacts. 10.The system of claim 8, wherein automatically assigning the firstout-of-order contact increases an expected wait time of a first in-ordercontact of the plurality of contacts.
 11. The system of claim 8, whereinthe processor is further configured to automatically determine that anexpected improvement to a contact interaction by automatically assigningthe first out-of-order contact outweighs an expected cost by keeping afirst in-order contact of the plurality of contacts on hold.
 12. Thesystem of claim 8, wherein the processor is further configured toautomatically search the plurality of contacts for an assignment basedon the information about the first agent.
 13. The system of claim 8,wherein the first out-of-order contact is automatically connected usingan outbound dialer of the contact center system.
 14. The system of claim8, wherein the processor is further configured to automatically assign asecond out-of-order contact from the plurality of contacts to a secondagent of the plurality of agents that becomes available for assignmentto any of a remainder of the plurality of contacts based on informationabout the second agent.
 15. An article of manufacture for handlingcontacts and agents in a contact center system comprising: anon-transitory processor readable medium; and instructions stored on themedium; wherein the instructions are configured to be readable from themedium by a processor communicatively coupled to the contact centersystem and thereby cause the processor to operate so as to:automatically identify a plurality of contacts ordered chronologicallyin a queue for assignment to a plurality of agents; automaticallyidentify information about a first agent of the plurality of agents thatbecomes available for assignment; automatically assign a firstout-of-order contact from the plurality of contacts to the first agentbased on the information about the first agent and information about thefirst out-of-order contact, wherein the first out-of-order contact is acontact in the plurality of contacts that is assigned before at leastone other contact of the plurality of contacts that is orderedchronologically ahead of the first out-of-order contact in the queue;and automatically connect the first out-of-order contact to the firstagent.
 16. The article of manufacture of claim 15, wherein the pluralityof contacts are ordered chronologically in the queue based on respectivecontact center system arrival times of each contact of the plurality ofcontacts.
 17. The article of manufacture of claim 15, whereinautomatically assigning the first out-of-order contact increases anexpected wait time of a first in-order contact of the plurality ofcontacts.
 18. The article of manufacture of claim 15, wherein theprocessor is caused to operate further so as to automatically determinethat an expected improvement to a contact interaction by automaticallyassigning the first out-of-order contact outweighs an expected cost bykeeping a first in-order contact of the plurality of contacts on hold.19. The article of manufacture of claim 15, wherein the processor iscaused to operate further so as to automatically search the plurality ofcontacts for an assignment based on the information about the firstagent.
 20. The article of manufacture of claim 15, wherein the firstout-of-order contact is automatically connected using an outbound dialerof the contact center system.